On Deriving Distributed Programs from Formal Specifications of Functional Requirements and Architectural Constraints
نویسندگان
چکیده
The design of distributed programs is a difficult task which can greatly benefit from the application of formal methods. Since design solutions are determined not only by functional requirements imposed by the application but also by the structure and behavior of the underlying hardware architecture, a complete formal treatment of the program derivation process becomes a significant challenge. The common approach is to start with a formal specification of the functional requirements and to derive the desired program through systematic refinements which factor in the architectural constraints informally, in an ad-hoc manner. This paper shows how one can employ a single specification method (program-wide assertions) to express both functional requirements and architectural constraints. A distributed simulation problem is used to illustrate a formal strategy for deriving a distributed program from assertions about its functionality and the constraints imposed by the choice of underlying architecture.
منابع مشابه
YIP Formal Synthesis of Software-Based Control Protocols for Fractionated, Composable Autonomous Systems
This project develops methods and tools for formally synthesizing distributed, softwarebased control protocols for autonomous systems. It tackles the challenge of establishing trust in autonomous systems through a shift from the traditional “design+verify” approach to “specify+synthesize.” Specifically, it focuses on fractionated system architectures, where heterogeneous modules delivering dist...
متن کاملAn Approach to Safety Analysis and Verification based upon Formal Functional Model
design transforms the semi-formal requirements specification into a formal implicit specification, which will then be further refined into formal explicit specification by detail design. Detail design has two goals: (1) transforming implicit specifications of processes and functions, defined in modules into explicit specifications to serve as a foundation for implementation in a specific progra...
متن کاملFrom System Goals to Software Architecture
Requirements and architecture are two essential inter-related products in the software lifecycle. Software architecture has long been recognized to have a profound impact on non-functional requirements about security, fault tolerance, performance, evolvability, and so forth. In spite of this, very few techniques are available to date for systematically building software architectures from funct...
متن کاملJFly: A JML-Based Strategy for Incorporating Formal Specifications into the Software Development Process
This paper presents JFly, a JML-based strategy for incorporating formal specifications into the software development of object oriented programs. The strategy consists in evolving functional requirements into a semi-formal requirements form, and then expressing these requirements as JML formal specifications. What makes our strategy different from existing strategies is the particular use of JM...
متن کاملA Formal Approach to Distributed System Tests Design
Deployment of distributed systems sets high requirements for procedures and tools for the complex testing of these systems. This work introduces a formal four-layered model for test generation mission on the basis of the component-based approach and the concept of layered networks. Based on this model, we describe the test generation strategy that covers every interaction from the end-user requ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992